package com.example.myapplication.kotlin

fun main() {
    Dog().food()
    Cat("小猫", 12)
    var P1 = Person("小猫")
    var P2 = Person("小猫", 12)
    println(P1.name)
    println(P2.name + P2.age)
}


// 简单类使用
class Dog {
    var name: String = ""
    var age: Int = 0
    fun food() {
        println("吃吃吃")
    }
}

// 构造函数
class Cat constructor(var name: String, var age: Int) {
    // 初始化验证，初始化会自动触发一次函数
    init {
        println("初始化")
        println("name: $name, age: $age")
        // 可以用来判断，如果条件不符合，返回大括号内错误信息
        require(age > 0) { "年龄必须大于0" }
    }
}

// 次构造函数
class Person constructor(var name: String) {
    var age: Int = 0

    constructor(name: String, age: Int) : this(name) {
        this.age = age
    }
}